/*
 * Created on 15/10/2006
 *
 */
package tur.br.moradadosol.view.form;

import java.util.ArrayList;
import java.util.Calendar;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import tur.br.moradadosol.util.Util;

/**
 * @author Ramon F. Garcia
 *
 */
public class ProcuraReservaForm extends ActionForm {
	
	private String procurar;
	private String voltar;
	private String dataInicio;
	private String dataFim;
	//private int apartamento;
	private String nome;
	private ArrayList hospedagens;
	
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		setProcurar("");
		setVoltar("");
	}

	public ActionErrors validate(ActionMapping mapping, 
		HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();
		
		if(getProcurar().length() > 0) {
			Calendar dataInicio = Util.getDate(getDataInicio());
			Calendar dataFim = Util.getDate(getDataFim());
			
			if(getDataInicio().trim().length() == 0) {
				errors.add("error.procurareserva.datainicio", 
					new ActionMessage(
						"error.pesquisa.reserva.datainicio.required"));
			}
			if(getDataFim().trim().length() == 0) {
				errors.add("error.procurareserva.datafim", 
					new ActionMessage(
						"error.pesquisa.reserva.datafim.required"));
			}
			if(dataInicio != null 
				&& dataFim != null
				&& dataInicio.after(dataFim)) {
				errors.add("error.procurareserva", 
					new ActionMessage(
						"error.pesquisa.reserva.datainicio.maior.datafim"));
			}
		}
		
		return errors;
	}

	public void reset() {
		setDataFim("");
		setDataInicio("");
		//setApartamento(0);
		setNome("");
	}
	
	/*public int getApartamento() {
		return apartamento;
	}*/

	public String getDataFim() {
		return dataFim;
	}

	public String getDataInicio() {
		return dataInicio;
	}

	public ArrayList getHospedagens() {
		return hospedagens;
	}

	public String getProcurar() {
		return procurar;
	}

	public String getVoltar() {
		return voltar;
	}

	/*public void setApartamento(int i) {
		apartamento = i;
	}*/

	public void setDataFim(String string) {
		dataFim = string;
	}

	public void setDataInicio(String string) {
		dataInicio = string;
	}

	public void setHospedagens(ArrayList list) {
		hospedagens = list;
	}

	public void setProcurar(String string) {
		procurar = string;
	}

	public void setVoltar(String string) {
		voltar = string;
	}

	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}
}
